Java零基础-构造方法

前言

构造器又称为 构造函数 / 构造器 / constructor

[修饰符列表] 构造方法名(形式参数列表) {
构造方法体;
}

普通方法的语法结构:

[修饰符列表] 返回值类型 方法名(形式参数列表) {
方法体;
}

可以看到,构造方法里没有返回值类型!!

介绍

对于构造方法来说,构造方法的方法名必须和类名保持一致!

1
2
3
4
5
6
7
public class test01 {
public static void main(String[] args) {
// 创建 User 对象
// 调用 User 类的构造方法来完成对象的创建
User u = new User();
}
}

作用

  1. 创建对象
  2. 给实例变量赋值

实例变量的内存空间是在构造方法执行过程当中完成开辟,完成初始化的。系统在默认赋值的时候,也是在构造方法执行过程当中完成的赋值。

调用方法

new 构造方法名(实参列表)

另,普通方法中,如果有 static类名.方法名(实参列表);没有static引用.方法名(实参列表)

返回值

每一个构造函数实际上执行结束之后都有返回值,但是这个“return 值;”不需要写;

构造方法结束时 Java 程序自动返回值,并且返回值类型是构造方法所在类的类型;

由于构造方法的返回值类型就是类本身,所以返回值类型不需要缩写

缺省构造器(无参数构造器)

缺省构造器——当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法;

当一个类显示的将构造方法定义出来了,那么系统将不再默认为这个类提供缺省构造器,建议开发中手动的为当前类提供无参数构造方法,因为无参数构造方法太常用了。

1
2
3
4
5
6
7
8
public class User {
private String acto;
// 无参数构造器
public Test01() {
// 默认初始化实例变量的内存空间
// acto = null;
}
}

有参数的构造器

构造器支持方法重载机制,可以在一个类当中编写多个构造器方法

1
2
3
4
// 创建对象
User u1 = new User();
User u2 = new User(10);
User u2 = new User("zhangwei");

快速创建构造器:右键 --> Source --> Generate Constructor using Fields...

1
2
3
4
5
6
7
8
9
10
// 无参数构造器
public Test01() {
// 默认初始化实例变量的内存空间
// acto = null;
}
// 有参数的构造器
public Test01(String acto) {
super();
this.acto = acto;
}